package com.konsung.util;

import com.google.gson.Gson;

import java.lang.reflect.Type;

/**
 * 类功能：JSON解析工具类
 */
public class JsonUtil {

    /**
     * 私有构造器
     */
    private JsonUtil() {
    }

    /**
     * 对象转json
     * @param obj 对象
     * @return json
     */
    public static String toJson(Object obj) {

        return new Gson().toJson(obj);
    }

    /**
     * 将json string反序列化成对象
     * @param json  json string
     * @param valueType 类型
     * @param <T> 对象类型
     * @return 对象
     */
    public static <T> T toObject(String json, Class<T> valueType) {
        return new Gson().fromJson(json, valueType);

    }
    /**
     * json转换成实体类
     * @param str json字符串
     * @param type 类型
     * @param <T> 实体类泛型
     * @return 实体类
     */
    public static <T> T toEntity(String str, Type type) {
        Gson gson = new Gson();
        return gson.fromJson(str, type);
    }

}
